import { reqGetSearchInfo } from "@/api"
//search模块的小仓库
//state仓库存储数据的地方
const search = {
   state : {
      //状态初始状态
      searchList:{}
   },
  //mutations修改state唯一手段
   mutations : {
      GETSEARCHLIST(state,searchList){
         state.searchList = searchList
      }
   },
  //action处理action 可以书写自己的业务逻辑,也可以处理异步
   actions : {
      //获取search模块中的数据
     async getSearchList({commit},params){
      //params形参,适当用户触发action的时候,第二个参数传递过来的,至少是要一个空对象
         let result = await reqGetSearchInfo(params)
         if(result.code === 200){
            commit('GETSEARCHLIST',result.data)
         }
      }
   },
  //getters 可以理解为计算属性,用于简化仓库数据,让组件获取仓库的数据更加方便
  //项目中getters主要的作用是:简化仓库中的数据
   getters : {
      //当前形参state,是指的是当前search的state
      goodsList(state){
         //假如网络不给力,没有网络的情况,我们应该加多一个或者给他返回一个空数组(以防万一)
         return state.searchList.goodsList||[]
      },
      trademarkList(state){
         return state.searchList.trademarkList
      },
      attrsList(state){
         return state.searchList.attrsList
      }
   }
}

 export default search